﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using System.Collections.Specialized;
using com.clinica.business.BE.seguridad;
using System.Text;
using com.clinica.config;
using LiclUtil;

namespace wesiGestClinica.Shared
{
    public partial class Clinica : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                HtmlGenericControl link = new HtmlGenericControl("LINK");
                link.Attributes.Add("rel", "stylesheet");
                link.Attributes.Add("type", "text/css");
                link.Attributes.Add("href", "../App_Themes/Default/Default.css");
                link.Attributes.Add("href", string.Format("../App_Themes/{0}/{0}.css", Page.StyleSheetTheme));
                Controls.Add(link);
                // El menu deberia recibir como parametro la(s) entidade(s) almacenadas en sesion
                // que contienen informacion del usuario, opciones, etc, etc, por el momento todo esto esta hardcode
                SiteMapProviderSGM smpSTS = new SiteMapProviderSGM();
                smpSTS = CargarMenuPrincipal();

                SiteMapDataSource smdSTS = new SiteMapDataSource();
                smdSTS.Provider = smpSTS;


                UCCabecera1.MenuPrincipal.DataSource = smdSTS;
                UCCabecera1.MenuPrincipal.DataBind();
                foreach (MenuItem opcion in UCCabecera1.MenuPrincipal.Items[0].ChildItems)
                    opcion.Selectable = false;


                //
                // Control de Fin de Sesion
                //

                int MilliSecondsTimeReminder = (Session.Timeout * 60000) - int.Parse(ConfigurationManager.AppSettings.Get("TiempoSesionMinutos")) * 60000;
                int MilliSecondsTimeOut = Session.Timeout * 60000;

                StringBuilder oS = new StringBuilder();
                oS.AppendLine("<script language='javascript' type='text/javascript'>");
                oS.AppendLine("var myTimeReminder, myTimeOut;");
                oS.AppendLine("clearTimeout(myTimeReminder);");
                oS.AppendLine("clearTimeout(myTimeOut);");
                oS.AppendFormat("var sessionTimeReminder = {0};", MilliSecondsTimeReminder);
                oS.AppendLine("");
                oS.AppendFormat("var sessionTimeout = {0};", MilliSecondsTimeOut);
                oS.AppendLine("");
                oS.AppendLine("myTimeReminder = setTimeout('showUserMessage()', sessionTimeReminder);");
                oS.AppendLine("myTimeOut = setTimeout('redirect()', sessionTimeout);");
                oS.AppendLine("</script>");
                Page.RegisterClientScriptBlock("CheckSessionOut", oS.ToString());

                oS = new StringBuilder();
                oS.AppendLine("<script language='javascript' type='text/javascript'>");
                oS.AppendLine("function showUserMessage() {");
                oS.AppendLine("var features = 'scrollbars=no,resizable=no';");
                oS.AppendLine("var w = 300;");
                oS.AppendLine("var h = 150;");
                oS.AppendLine("var winl = (screen.width-w)/2;");
                oS.AppendLine("var wint = (screen.height-h)/2;");
                oS.AppendLine("var settings = 'height=' + h + ',';");
                oS.AppendLine("settings += 'width=' + w + ',';");
                oS.AppendLine("settings += 'top=' + wint + ','; ");
                oS.AppendLine("settings += 'left=' + winl; ");
                oS.AppendLine("settings += features;");
                string ambiente = new BeginConfig().Context;

                oS.AppendFormat("var PageOut= '{0}?Tiempo={1}';", ConfigurationManager.AppSettings.Get(ambiente + "PaginaAdvertencia"), int.Parse(ConfigurationManager.AppSettings.Get("TiempoSesionMinutos")));
                oS.AppendLine("");
                oS.AppendLine("x = window.open(PageOut, 'timeoutWindow', settings)");
                oS.AppendLine("x.focus(); }");
                oS.AppendLine("</script>");
                Page.RegisterClientScriptBlock("showUserMessage", oS.ToString());

                oS = new StringBuilder();
                oS.AppendLine("<script language='javascript' type='text/javascript'>");
                oS.AppendLine("function redirect() {");

                oS.AppendLine("window.location.href = 'FormsLogin.aspx';}");
                //oS.AppendLine("window.location.href = '" + ConfigurationManager.AppSettings.Get(ambiente + "PaginaFinSesion") + "';}");
                oS.AppendLine("");
                oS.AppendLine("</script>");
                Page.RegisterClientScriptBlock("redirect", oS.ToString());
            }
        }

        #region Menu
        /// <summary>
        /// Este metodo deberia recibir como parametro la(s) entidade(s) almacenadas en sesion
        /// que contienen informacion del usuario, opciones, etc, etc
        /// </summary>
        /// <returns></returns>
        public SiteMapProviderSGM CargarMenuPrincipal()
        {
            SiteMapProviderSGM smpSTS = new SiteMapProviderSGM();

            smpSTS.AgregarRaiz("", "", "");

            if (HttpContext.Current.Session["UsuarioActual"] != null)
            {
                List<OpcionBE> lstOpciones = new List<OpcionBE>();
                lstOpciones = (List<OpcionBE>)((UsuarioBE)HttpContext.Current.Session["UsuarioActual"]).Opciones;

                String IdPadre = OpcionTipo.PADRE;
                CargarMenuPrincipalRecursivo(lstOpciones, IdPadre, null, smpSTS);
            }

            return smpSTS;
        }
        public bool MenuPrincipalVisible
        {
            get { return UCCabecera1.MenuPrincipal.Visible; }
            set { UCCabecera1.MenuPrincipal.Visible = value; }
        }
        #endregion
        #region  LLenarSiteMap

        public void CargarMenuPrincipalRecursivo(List<OpcionBE> permisos, String IdPadre, SiteMapNode nodo, SiteMapProviderSGM smpSTS)
        {
            if (nodo == null)
            {
                nodo = smpSTS.RootNode;
            }
            foreach (OpcionBE permiso in permisos)
            {
                if (permiso.Padre.ToString().Equals(IdPadre))
                {
                    SiteMapNode nodop = smpSTS.AgregarNodo(nodo, permiso.Url, permiso.Nombre, permiso.CodigoOpcion.ToString());
                    CargarMenuPrincipalRecursivo(permisos, permiso.CodigoOpcion.ToString(), nodop, smpSTS);
                }
            }
        }

        #endregion
        #region Mensajes
        /// <summary>
        /// Metodo para ocultar los mensajes en la pagina
        /// </summary>
        public void OcultarMensaje()
        {
            lblMensaje.Text = string.Empty;
            pMensaje.Visible = false;
        }

        public void SetFoco(string idClientControl)
        {
            ScriptManager1.SetFocus(idClientControl);
        }/// <summary>
        /// Metodo para mostrar mensajes en la pagina
        /// </summary>
        /// <param name="mensaje">Mensaje a mostrar</param>
        /// <param name="tipo">Tipo de error</param>
        public void MostrarMensaje(string mensaje, TipoMensaje tipo)
        {
            mensaje = ObtenerMensaje(mensaje);
            lblMensaje.Text = mensaje;
            switch (tipo)
            {
                case TipoMensaje.Advertencia: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ADVERTENCIA; break;
                case TipoMensaje.Error: lblMensaje.ForeColor = System.Drawing.Color.Red; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ERROR; break;
                case TipoMensaje.Exito: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_EXITO; break;
                case TipoMensaje.Informacion: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
                default: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
            }
            pMensaje.Visible = true;
        }
        public void MostrarMensaje(string mensaje, TipoMensaje tipo, Exception ex)
        {
            mensaje = ObtenerMensaje(mensaje);
            int flagExcepcion = 0;
            try
            {   //flag seteado en el webconfig
                flagExcepcion = int.Parse(ConfigurationManager.AppSettings.Get("MostrarException"));
            }
            catch
            {
                flagExcepcion = 0;
            }
            lblMensaje.Text = flagExcepcion == 1 ? mensaje + " MessageException: " + ex.Message.Replace("'", "") : mensaje;
            lblMensaje.Text = flagExcepcion == 1 ? mensaje + " Source: " + ex.Source.Replace("'", "") : mensaje;
            lblMensaje.Text = flagExcepcion == 1 ? mensaje + " StackTrace: " + ex.StackTrace.Replace("'", "") : mensaje;
            switch (tipo)
            {
                case TipoMensaje.Advertencia: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ADVERTENCIA; break;
                case TipoMensaje.Error: lblMensaje.ForeColor = System.Drawing.Color.Red; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ERROR; break;
                case TipoMensaje.Exito: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_EXITO; break;
                case TipoMensaje.Informacion: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
                default: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
            }
            pMensaje.Visible = true;
        }
        public void MostrarMensaje(string mensaje, TipoMensaje tipo, string exceptionMessage)
        {
            mensaje = ObtenerMensaje(mensaje);
            int flagExcepcion = 0;
            try
            {   //flag seteado en el webconfig
                flagExcepcion = int.Parse(ConfigurationManager.AppSettings.Get("MostrarException"));
            }
            catch
            {
                flagExcepcion = 0;
            }
            lblMensaje.Text = flagExcepcion == 1 ? mensaje + " MessageException: " + exceptionMessage : mensaje;
            //lblMensaje.Text = flagExcepcion == 1 ? mensaje + "Code: " + code + " MessageException: " + ex.Message.Replace("'", "") : mensaje;
            //lblMensaje.Text = flagExcepcion == 1 ? lblMensaje.Text + " Source: " + ex.Source.Replace("'", "") : mensaje;
            //lblMensaje.Text = flagExcepcion == 1 ? lblMensaje.Text + " StackTrace: " + ex.StackTrace.Replace("'", "") : mensaje;

            switch (tipo)
            {
                case TipoMensaje.Advertencia: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ADVERTENCIA; break;
                case TipoMensaje.Error: lblMensaje.ForeColor = System.Drawing.Color.Red; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ERROR; break;
                case TipoMensaje.Exito: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_EXITO; break;
                case TipoMensaje.Informacion: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
                default: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
            }
            pMensaje.Visible = true;
        }
        public void MostrarMensaje(string mensaje, TipoMensaje tipo, string exceptionMessage, StringCollection code)
        {
            mensaje = ObtenerMensaje(mensaje);
            int flagExcepcion = 0;
            try
            {   //flag seteado en el webconfig
                flagExcepcion = int.Parse(ConfigurationManager.AppSettings.Get("MostrarException"));
            }
            catch
            {
                flagExcepcion = 0;
            }
            lblMensaje.Text = flagExcepcion == 1 ? mensaje + " MessageException: " + exceptionMessage : mensaje;
            for (int i = 0; i < code.Count; i++)
            {
                lblMensaje.Text = lblMensaje.Text + " ASCode: " + code[i].ToString();
            }

            //lblMensaje.Text = flagExcepcion == 1 ? mensaje + "Code: " + code + " MessageException: " + ex.Message.Replace("'", "") : mensaje;
            //lblMensaje.Text = flagExcepcion == 1 ? lblMensaje.Text + " Source: " + ex.Source.Replace("'", "") : mensaje;
            //lblMensaje.Text = flagExcepcion == 1 ? lblMensaje.Text + " StackTrace: " + ex.StackTrace.Replace("'", "") : mensaje;

            switch (tipo)
            {
                case TipoMensaje.Advertencia: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ADVERTENCIA; break;
                case TipoMensaje.Error: lblMensaje.ForeColor = System.Drawing.Color.Red; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ERROR; break;
                case TipoMensaje.Exito: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_EXITO; break;
                case TipoMensaje.Informacion: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
                default: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
            }
            pMensaje.Visible = true;
        }
        public void AgregarMensaje(string mensaje, TipoMensaje tipo)
        {
            mensaje = ObtenerMensaje(mensaje);
            lblMensaje.Text = lblMensaje.Text + mensaje;
            switch (tipo)
            {
                case TipoMensaje.Advertencia: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ADVERTENCIA; break;
                case TipoMensaje.Error: lblMensaje.ForeColor = System.Drawing.Color.Red; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ERROR; break;
                case TipoMensaje.Exito: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_EXITO; break;
                case TipoMensaje.Informacion: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
                default: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
            }
            pMensaje.Visible = true;
        }
        public void AgregarMensaje(string mensaje, TipoMensaje tipo, Exception ex)
        {
            mensaje = ObtenerMensaje(mensaje);
            int flagExcepcion = 0;
            try
            {   //flag seteado en el webconfig
                flagExcepcion = int.Parse(ConfigurationManager.AppSettings.Get("MostrarException"));
            }
            catch
            {
                flagExcepcion = 0;
            }
            lblMensaje.Text = flagExcepcion == 1 ? lblMensaje.Text + mensaje + " MessageException: " + ex.Message.Replace("'", "") : mensaje;
            lblMensaje.Text = flagExcepcion == 1 ? lblMensaje.Text + " Source: " + ex.Source.Replace("'", "") : mensaje;
            lblMensaje.Text = flagExcepcion == 1 ? lblMensaje.Text + " StackTrace: " + ex.StackTrace.Replace("'", "") : mensaje;
            switch (tipo)
            {
                case TipoMensaje.Advertencia: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ADVERTENCIA; break;
                case TipoMensaje.Error: lblMensaje.ForeColor = System.Drawing.Color.Red; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ERROR; break;
                case TipoMensaje.Exito: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_EXITO; break;
                case TipoMensaje.Informacion: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
                default: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
            }
            pMensaje.Visible = true;
        }
        public void AgregarMensaje(string mensaje, TipoMensaje tipo, string exceptionMessage)
        {
            mensaje = ObtenerMensaje(mensaje);
            int flagExcepcion = 0;
            try
            {   //flag seteado en el webconfig
                flagExcepcion = int.Parse(ConfigurationManager.AppSettings.Get("MostrarException"));
            }
            catch
            {
                flagExcepcion = 0;
            }
            lblMensaje.Text = flagExcepcion == 1 ? lblMensaje.Text + mensaje + " MessageException: " + exceptionMessage : mensaje;
            //lblMensaje.Text = flagExcepcion == 1 ? mensaje + "Code: " + code + " MessageException: " + ex.Message.Replace("'", "") : mensaje;
            //lblMensaje.Text = flagExcepcion == 1 ? lblMensaje.Text + " Source: " + ex.Source.Replace("'", "") : mensaje;
            //lblMensaje.Text = flagExcepcion == 1 ? lblMensaje.Text + " StackTrace: " + ex.StackTrace.Replace("'", "") : mensaje;

            switch (tipo)
            {
                case TipoMensaje.Advertencia: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ADVERTENCIA; break;
                case TipoMensaje.Error: lblMensaje.ForeColor = System.Drawing.Color.Red; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ERROR; break;
                case TipoMensaje.Exito: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_EXITO; break;
                case TipoMensaje.Informacion: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
                default: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
            }
            pMensaje.Visible = true;
        }
        public void AgregarMensaje(string mensaje, TipoMensaje tipo, string exceptionMessage, StringCollection code)
        {
            mensaje = ObtenerMensaje(mensaje);
            int flagExcepcion = 0;
            try
            {   //flag seteado en el webconfig
                flagExcepcion = int.Parse(ConfigurationManager.AppSettings.Get("MostrarException"));
            }
            catch
            {
                flagExcepcion = 0;
            }
            lblMensaje.Text = flagExcepcion == 1 ? lblMensaje.Text + mensaje + " MessageException: " + exceptionMessage : mensaje;
            for (int i = 0; i < code.Count; i++)
            {
                lblMensaje.Text = lblMensaje.Text + " ASCode: " + code[i].ToString();
            }

            //lblMensaje.Text = flagExcepcion == 1 ? mensaje + "Code: " + code + " MessageException: " + ex.Message.Replace("'", "") : mensaje;
            //lblMensaje.Text = flagExcepcion == 1 ? lblMensaje.Text + " Source: " + ex.Source.Replace("'", "") : mensaje;
            //lblMensaje.Text = flagExcepcion == 1 ? lblMensaje.Text + " StackTrace: " + ex.StackTrace.Replace("'", "") : mensaje;

            switch (tipo)
            {
                case TipoMensaje.Advertencia: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ADVERTENCIA; break;
                case TipoMensaje.Error: lblMensaje.ForeColor = System.Drawing.Color.Red; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ERROR; break;
                case TipoMensaje.Exito: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_EXITO; break;
                case TipoMensaje.Informacion: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
                default: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
            }
            pMensaje.Visible = true;
        }
        public void AgregarMensaje_(StringCollection code, TipoMensaje tipo)
        {
            if (tipo == TipoMensaje.Exito)
            {
                if (code.Count > 0)
                {
                    lblMensaje.Text = lblMensaje.Text + "Message:" + "</BR>";
                    for (int i = 0; i < code.Count; i++)
                    {
                        lblMensaje.Text = lblMensaje.Text + " --> " + code[i].ToString();
                    }

                    switch (tipo)
                    {
                        case TipoMensaje.Advertencia: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ADVERTENCIA; break;
                        case TipoMensaje.Error: lblMensaje.ForeColor = System.Drawing.Color.Red; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ERROR; break;
                        case TipoMensaje.Exito: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_EXITO; break;
                        case TipoMensaje.Informacion: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
                        default: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
                    }
                }
            }
            pMensaje.Visible = true;
        }
        public void AgregarMensaje(StringCollection code, TipoMensaje tipo)
        {

            for (int i = 0; i < code.Count; i++)
            {
                ColocarMensaje(tipo, "", code[i]);
            }
            //pMensakeList.Visible = true;
        }
        public void ColocarMensaje(TipoMensaje tipo, string exceptionMessage, string mensaje)
        {
            mensaje = ObtenerMensaje(mensaje);
            Label lblMensaje = new Label();
            Image imgMensaje = new Image();

            lblMensaje.Text = "Message: ";
            lblMensaje.Text = lblMensaje.Text + " --> " + mensaje + "</BR>";

            switch (tipo)
            {
                case TipoMensaje.Advertencia: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ADVERTENCIA; break;
                case TipoMensaje.Error: lblMensaje.ForeColor = System.Drawing.Color.Red; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_ERROR; break;
                case TipoMensaje.Exito: lblMensaje.ForeColor = System.Drawing.Color.Blue; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_EXITO; break;
                case TipoMensaje.Informacion: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
                default: lblMensaje.ForeColor = System.Drawing.Color.Black; imgMensaje.ImageUrl = UrlImagenTipoMensaje.URLIMAGE_INFORMACION; break;
            }
            //this.pMensakeList.Controls.Add(imgMensaje);
            //this.pMensakeList.Controls.Add(lblMensaje);
        }
        public string ObtenerMensaje(string descripcion)
        {
            string codigo = string.Empty;
            if (descripcion.Length >= 2)
            {
                codigo = descripcion.Substring(0, 2);
                descripcion = descripcion.Substring(2, descripcion.Length - 2);
            }
            else
                descripcion = string.Empty;
            switch (codigo)
            {
                //case "01": descripcion = Resources.STS.MSG_INSERCION_EXITO + descripcion; break;
                //case "02": descripcion = Resources.STS.MSG_INSERCION_ERROR + descripcion; break;
                //case "03": descripcion = Resources.STS.MSG_INSERCION_CONFIRMACION + descripcion; break;
                //case "04": descripcion = Resources.STS.MSG_MODIFICACION_EXITO + descripcion; break;
                //case "05": descripcion = Resources.STS.MSG_MODIFICACION_ERROR + descripcion; break;
                //case "06": descripcion = Resources.STS.MSG_MODIFICACION_CONFIRMACION + descripcion; break;
                //case "07": descripcion = Resources.STS.MSG_ELIMINACION_EXITO + descripcion; break;
                //case "08": descripcion = Resources.STS.MSG_ELIMINACION_ERROR + descripcion; break;
                //case "09": descripcion = Resources.STS.MSG_ELIMINACION_CONFIRMACION + descripcion; break;
                //case "10": descripcion = Resources.STS.MSG_OPERACION_EXITO + descripcion; break;
                //case "11": descripcion = Resources.STS.MSG_OPERACION_ERROR + descripcion; break;
                //case "12": descripcion = Resources.STS.MSG_DATOSINSUFICIENTESPARAPROCESO + descripcion; break;
                //case "13": descripcion = Resources.STS.MSG_OBJETONULL + descripcion; break;
                //case "14": descripcion = /*Resources.STS.MSG_FAULT_ERROR +*/ descripcion; break;
                //case "15": descripcion = Resources.STS.MSG_COMUNICACION_ERROR + descripcion; break;
                //case "16": descripcion = Resources.STS.MSG_VALIDACION_ERROR + descripcion; break;
                //case "17": descripcion = Resources.STS.MSG_BASESEXTERNAS_EXITO + descripcion; break;
                //case "18": descripcion = Resources.STS.MSG_BASESEXTERNAS_SINPERMISO + descripcion; break;
                //case "19": descripcion = Resources.STS.MSG_BASESEXTERNAS_ERROR + descripcion; break;
                //case "20": descripcion = Resources.STS.MSG_BUSQUEDA_SINRESULTADO + descripcion; break;
                //case "21": descripcion = Resources.STS.MSG_REUTILIZARINFORME_CONFIRMACION + descripcion; break;
                //case "22": descripcion = Resources.STS.MSG_REENVIARVERIFICACION_CONFIRMACION + descripcion; break;
                //case "23": descripcion = Resources.STS.MSG_CULMINAREVALUACION_CONFIRMACION + descripcion; break;
                //case "24": descripcion = Resources.STS.MSG_REINICIAR_FILTROS + descripcion; break;
                //case "25": descripcion = Resources.STS.MSG_GENERAR_REPORTE + descripcion; break;
                //case "26": descripcion = Resources.STS.MSG_OPERACION_CANCELAR + descripcion; break;
                //case "27": descripcion = Resources.STS.MSG_APROBACION_CONFIRMACION + descripcion; break;
                //case "28": descripcion = Resources.STS.MSG_REPROCESOBASESEXTERNAS_EXITO + descripcion; break;
                default: descripcion = codigo + descripcion; break;
            }
            return descripcion;
        }

        #endregion

        #region Titulomodulo
        public string TituloModulo
        {
            set { lbl_TituloModulo.Text = value; }
        }
        #endregion
    }
}
